293 research outputs found
Realisability Semantics for Intersection Types and Expansion Variables
Expansion was invented at the end of the 1970s for calculating principal
typings for -terms in type systems with intersection types. Expansion
variables (E-variables) were invented at the end of the 1990s to simplify and
help mechanise expansion. Recently, E-variables have been further simplified
and generalised to also allow calculating type operators other than just
intersection. There has been much work on denotational semantics for type
systems with intersection types, but none whatsoever before now on type systems
with E-variables. Building a semantics for E-variables turns out to be
challenging. To simplify the problem, we consider only E-variables, and not the
corresponding operation of expansion. We develop a realisability semantics
where each use of an E-variable in a type corresponds to an independent degree
at which evaluation occurs in the -term that is assigned the type. In
the -term being evaluated, the only interaction possible between
portions at different degrees is that higher degree portions can be passed
around but never applied to lower degree portions. We apply this semantics to
two intersection type systems. We show these systems are sound, that
completeness does not hold for the first system, and completeness holds for the
second system when only one E-variable is allowed (although it can be used many
times and nested). As far as we know, this is the first study of a denotational
semantics of intersection type systems with E-variables (using realisability or
any other approach)
Principal Typings in a Restricted Intersection Type System for Beta Normal Forms with De Bruijn Indices
The lambda-calculus with de Bruijn indices assembles each alpha-class of
lambda-terms in a unique term, using indices instead of variable names.
Intersection types provide finitary type polymorphism and can characterise
normalisable lambda-terms through the property that a term is normalisable if
and only if it is typeable. To be closer to computations and to simplify the
formalisation of the atomic operations involved in beta-contractions, several
calculi of explicit substitution were developed mostly with de Bruijn indices.
Versions of explicit substitutions calculi without types and with simple type
systems are well investigated in contrast to versions with more elaborate type
systems such as intersection types. In previous work, we introduced a de Bruijn
version of the lambda-calculus with an intersection type system and proved that
it preserves subject reduction, a basic property of type systems. In this paper
a version with de Bruijn indices of an intersection type system originally
introduced to characterise principal typings for beta-normal forms is
presented. We present the characterisation in this new system and the
corresponding versions for the type inference and the reconstruction of normal
forms from principal typings algorithms. We briefly discuss the failure of the
subject reduction property and some possible solutions for it
Temas fértiles para la cultura matemática
Cuándo nos enfrentamos a nuestro quehacer docente hay veces que nos preguntamos ¿Qué asuntos relacionados con el tema de la clase me pueden ayudar a formar una cultura matemática en mis alumnos? ¿Dónde puedo encontrarlos? ¿Cuál es la forma más seductora de presentarlos? El objetivo de esta charla es compartir nuestras experiencias en la búsqueda de respuestas a estas inquietudes en las entrañas de la historia de la matemática. Después de una breve introducción donde compartimos nuestras ideas de carácter teórico, mostramos algunos temas históricos fértiles que han resultado eficaces para desarrollar una cultura matemática en estudiantes y profesores
Challenges and solutions to realisability semantics for intersection types with expansion variables
International audienceExpansion is a crucial operation for calculating principal typings in intersection type systems. Because the early definitions of expansion were complicated, E-variables were introduced in order to make the calculations easier to mechanise and reason about. Recently, E-variables have been further simplified and generalised to also allow calculating other type operators than just intersection. There has been much work on semantics for type systems with intersection types, but none whatsoever before our work, on type systems with E-variables. In this paper we expose the challenges of building a semantics for E-variables and we provide a novel solution. Because it is unclear how to devise a space of meanings for E-variables, we develop instead a space of meanings for types that is hierarchical. First, we index each type with a natural number and show that although this intuitively captures the use of E-variables, it is difficult to index the universal type w with this hierarchy and it is not possible to obtain completeness of the semantics if more than one E-variable is used. We then move to a more complex semantics where each type is associated with a list of natural numbers and establish that both w and an arbitrary number of E-variables can be represented without losing any of the desirable properties of a realisability semantics
- …